package com.project.common.enums;

/**
 * @Description: 分布式锁Key
 * @Author: zhuchi
 * @CreateDate: 2020/9/18 22:30
 * @Version: 1.0
 */
public enum LockEnum {
    /**
     * 分布式锁超时时间（毫秒）
     */
    LOCK_EXPIRES{public String Value(){return "15000";}},

    /**
     * 添加购物车分布式锁Key
     */
    ADD_SHOPPING_CART_LOCK{public String Value(){return "ADD_SHOPPING_CART_LOCK_";}},

    /**
     * 初始化用户金额记录分布式锁Key
     */
    ADD_USER_BALANCE{public String Value(){return "ADD_USER_BALANCE_";}},

    /**
     * 减少用户冻结金额分布式锁Key
     */
    UPDATE_SUB_USER_FROZEN_AMOUNT{public String Value(){return "UPDATE_SUB_USER_FROZEN_AMOUNT_";}},

    /**
     * 增加用户冻结金额分布式锁Key
     */
    UPDATE_ADD_USER_FROZEN_AMOUNT{public String Value(){return "UPDATE_ADD_USER_FROZEN_AMOUNT_";}},

    /**
     * 减少用户余额分布式锁Key
     */
    UPDATE_SUB_USER_BALANCE{public String Value(){return "UPDATE_SUB_USER_BALANCE_";}},

    /**
     * 增加用户余额分布式锁Key
     */
    UPDATE_ADD_USER_BALANCE{public String Value(){return "UPDATE_ADD_USER_BALANCE";}},

    /**
     * 商品下单分布式锁Key
     */
    CREATE_ORDER{public String Value(){return "CREATE_ORDER_";}},

    /**
     * 商品订单支付成功更新订单状态分布式锁Key
     */
    UPDATE_ORDER_PAY_SUCCESS{public String Value(){return "UPDATE_ORDER_PAY_SUCCESS_";}},

    /**
     * H5支付成功更新订单状态分布式锁Key
     */
    UPDATE_ORDER_H5PAY_NOTIFY{public String Value(){return "UPDATE_ORDER_H5PAY_NOTIFY_";}},

    /**
     * 回收员充值成功更新订单状态分布式锁Key
     */
    UPDATE_RECOVERY_MEMBER_RECHARGE_NOTIFY{public String Value(){return "UPDATE_RECOVERY_MEMBER_RECHARGE_NOTIFY_";}},

    /**
     * 商品SKU加库存分布式锁Key
     */
    UPDATE_ADD_PRODUCT_SKU_STOCK{public String Value(){return "UPDATE_ADD_PRODUCT_SKU_STOCK_";}},

    /**
     * 增加SKU单品销量分布式锁Key
     */
    ADD_SKU_SALES{public String Value(){return "ADD_SKU_SALES_";}},

    /**
     * 商品SKU减库存分布式锁Key
     */
    UPDATE_PRODUCT_SKU_STOCK{public String Value(){return "UPDATE_PRODUCT_SKU_STOCK_";}},

    /**
     * 根据微信退款异步通知信息更新订单状态分布式锁Key
     */
    UPDATE_PRODUCT_ORDER_REFUND_BY_NOTIFY{public String Value(){return "UPDATE_PRODUCT_ORDER_REFUND_BY_NOTIFY_";}},

    /**
     * 垃圾回收下单分布式锁Key
     */
    ADD_RECOVERY_ORDER{public String Value(){return "ADD_RECOVERY_ORDER_";}},

    /**
     * 回收员充值分布式锁Key
     */
    ADD_RECOVERY_MEMBER_RECHARGE{public String Value(){return "ADD_RECOVERY_MEMBER_RECHARGE_";}},

    /**
     * 回收员接单分布式锁Key
     */
    UPDATE_RECEIVING_ORDER{public String Value(){return "UPDATE_RECEIVING_ORDER_";}},

    /**
     * 回收员确认订单金额分布式锁Key
     */
    UPDATE_SUBMIT_RECEIVERY_ORDER{public String Value(){return "UPDATE_SUBMIT_RECEIVERY_ORDER_";}};


    /**
     * 获取对象状态值
     * @return
     */
    public abstract String Value();

}
